Network communications are generally comprised of one or more frames—packages of information that are transmitted as a single unit from a source to a destination on a network. Because each frame has a finite maximum size defined by the protocols and/or standards used on the network, the number of frames necessary to deliver a communication from a source point on the network to a destination point on the network may vary widely depending on the size of the communication (e.g., the number of bytes of data comprising a message or file to be transmitted over the network). Every frame of the communication, however, follows the same basic organizational pattern, incorporating information into the frame to enable the network's communication protocols to deliver the communication to the intended recipient, and to ensure that the communication arrives intact and without corruption.
Many pieces of information are generally incorporated into each frame to facilitate delivery and error checking of a segment of the communication included in a given frame. These pieces of information are commonly considered frame overhead because they are included in each frame in addition to the data comprising the actual communication. In a standard Transmission Control Protocol/Internet Protocol (“TCP/IP”) (TCP refers to the IETF standard RFC 793, Sep. 1, 1981) (IP refers to either the IPv4 (version 4) IETF standard RFC 791, Sep. 1, 1981, or the IPv6 (version 6) IETF draft standard RFC 2460, December 1998) protocol suite, commonly used for data transmission over interconnected networks, such as an Ethernet network (corresponding to the series of IEEE 802.3 networking standards), the frame overhead may include a preamble, an Ethernet header and footer, and IP and TCP headers, as well as other application or layer headers, such as a secure sockets layer, an encapsulating security payload standard, or the like. In addition, an interframe gap (“IFG”) separates each frame communicated over the network, and while not technically part of the frame, does consume a portion of available bandwidth on the network and may be considered frame overhead similar to the other elements mentioned above.
Elements of the frame overhead provide several functions, including addressing, routability, reliability, and the like. Each frame also typically includes a payload section, that portion of the frame that contains the data to be communicated over the network, such as a portion of a file or web page, and is the only part of the frame not considered overhead. The number of bytes available in a frame for the payload section is referred to as a maximum segment size (“MSS”), and the ratio of the MSS to the frame overhead determines the maximum efficiency of a network link. For example, if 10% of a frame comprises overhead on a 100 Mbps network connection, the maximum efficiency of the network connection is 90 Mbps of data throughput.
Typically, a full-length TCP/IP Ethernet frame “on the wire” includes an 8 byte preamble, a 14 byte Ethernet header, a 20 byte IP header (IP version 4, with no options), a 20 byte TCP header (with no options), a 1460 byte payload section, and a 4 byte Ethernet footer (also referred to herein as a “frame check sequence” or “FCS”). In addition, the typical IFG consumes an additional 12 bytes per frame. The combination of these elements results in an “on the wire” frame comprising 1538 bytes, of which, only 1460 bytes are usable for the transmission of data. In this example frame, the overhead ratio is 5.1%, resulting in a maximum efficiency of 94.9% or 94.9 Mbps (uni-directionally) on a 100 Mbps Fast Ethernet network connection.
The example TCP/IP Ethernet frame discussed above represents a “best-case” scenario on standard Ethernet networks. Depending on the particular standards and/or protocols adopted for use on a given network, the overhead ratio may be significantly higher, thereby further reducing the data throughout of the network connection, and potentially increasing the number of frames necessary to transmit a complete communication, resulting in prolonged network usage and extended processor utilization.